package cn.topevery.garden.entity.po;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.topevery.garden.entity.serializer.GeometrySerializer;
import cn.topevery.garden.framework.base.BaseEntity;
import com.alibaba.fastjson.annotation.JSONField;
import hw.topevery.framework.annotation.DbTable;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

/**
 * 
 *
 * @author code-generate
 * @date 2021-08-06
 */
@Data
@DbTable(tableName = "t_section")
public class Section extends BaseEntity {
        /**
     * 标段ID
     */
    @DbTableField(columnName = "c_section_id", dbType = DbTypeEnum.VARCHAR)
    public String sectionId ;

    /**
     * 标段编号
     */
    @DbTableField(columnName = "c_code", dbType = DbTypeEnum.VARCHAR)
    public String code ;

    /**
     * 标段名称
     */
    @DbTableField(columnName = "c_name", dbType = DbTypeEnum.VARCHAR)
    public String name ;

    /**
     * 简称
     */
    @DbTableField(columnName = "c_short_name", dbType = DbTypeEnum.VARCHAR)
    public String shortName ;

    /**
     * 范围 bd09
     */
    @DbTableField(columnName = "c_geom_bd09", dbType = DbTypeEnum.OTHER)
    public Geometry geomBd09 ;

    /**
     * 范围  wgs84
     */
    @ApiModelProperty(value = "范围")
    @Excel(name = "范围", orderNum = "0")
    @JSONField(serializeUsing = GeometrySerializer.class, deserializeUsing = GeometrySerializer.class)
    @DbTableField(columnName = "c_geom_wgs", dbType = DbTypeEnum.OTHER)
    public Geometry geomWgs ;

    /**
     * 范围 大地2000
     */
    @DbTableField(columnName = "c_geom_2000", dbType = DbTypeEnum.OTHER)
    public Geometry geom2000 ;

    /**
     * 范围  火星
     */
    @DbTableField(columnName = "c_geom_gcj02", dbType = DbTypeEnum.OTHER)
    public Geometry geomGcj02 ;

    /**
     * 范围 百度魔卡托平面
     */
    @DbTableField(columnName = "c_geom_mkt", dbType = DbTypeEnum.OTHER)
    public Geometry geomMkt ;

    /**
     * 标段状态（-1：停用；0：未提交；1：审核中；2：正常）
     */
    @DbTableField(columnName = "c_state", dbType = DbTypeEnum.INTEGER)
    public Integer state  = 0 ;

    /**
     * 
     */
    @DbTableField(columnName = "c_state_desc", dbType = DbTypeEnum.VARCHAR,canInsert = false,canUpdate =false)
    public String stateDesc ;

    @DbTableField(columnName = "c_team_id", dbType = DbTypeEnum.VARCHAR)
    public String teamId ;

    @DbTableField(columnName = "c_work_state", dbType = DbTypeEnum.INTEGER)
    public String workState ;

    @DbTableField(columnName = "c_main_manage_dept_id", dbType = DbTypeEnum.VARCHAR)
    public String mainManageDeptId ;

    @DbTableField(columnName = "c_manage_dept_id", dbType = DbTypeEnum.VARCHAR)
    public String manageDeptId ;

    @DbTableField(columnName = "c_company_id", dbType = DbTypeEnum.VARCHAR)
    public String companyId ;

    @DbTableField(columnName = "c_people", dbType = DbTypeEnum.VARCHAR)
    public String people ;

    @DbTableField(columnName = "c_phone", dbType = DbTypeEnum.VARCHAR)
    public String phone ;

    @DbTableField(columnName = "c_measure", dbType = DbTypeEnum.VARCHAR)
    public String measure ;

    @DbTableField(columnName = "c_address", dbType = DbTypeEnum.VARCHAR)
    public String address ;

    @DbTableField(columnName = "c_desc", dbType = DbTypeEnum.VARCHAR)
    public String desc ;

    @DbTableField(columnName = "c_type_id", dbType = DbTypeEnum.VARCHAR)
    public String typeId ;

}
